物件之間產生碰撞的偵測,必須兩者都帶有碰撞器,以及其中一方帶有剛體
2D遊戲物件的碰撞器只能使用2D碰撞器,無法將2D遊戲物件與3D碰撞器一起使用,而3D遊戲物件也只能使用3D碰撞器 ,無法使用2D碰撞器。
碰撞器有分成以下幾種:
Box Collider 2D:盒子碰撞器,是一個長方體外形的基本碰撞器,可以用於地板、牆壁或箱子等物件
Circle Collider 2D:圓形碰撞器,大小可以均勻等地調節,但不能單獨調節某個坐標軸方向的大小
Capsule Collider 2D:膠囊碰撞器,半徑和高度都可以單獨調節,可用在角色或與其他不規則形狀的碰撞結合來使用
Polygon Collider 2D:多邊形碰撞器
Box Collider:盒子碰撞器
Sphere Collider:球形碰撞器
Capsule Collider:膠囊碰撞器
Terrain Collider:地形碰撞器
Mesh Collider:網格碰撞器,透過獲取網格對象並在其基礎上建立碰撞,在與復雜網格模型上使用基本碰撞相比,網格碰撞體要更加精細,但會佔用更多的系統資源
Wheel Collider:輪碰撞器
待更
Edit Collider
手動調整碰撞框的大小
待更
程式碼
OnCollisionEnter用來判斷是否有碰撞
void OnCollisionEnter2D(Collision2D coll) {
if (coll.gameObject.tag == "monster") {
print("hit");
}
}
OnTriggerEnter用來判斷是否有碰觸
void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.tag == "sword") {
print("HP-10");
}
參考資料
https://docs.unity3d.com/Manual/Collider2D.html